#include <iostream>
using namespace std;

/*
【题目226】定义一个类B，该类包含用于输出信息的成员函数vf()，再设计一个继承于该类的派生类D，也包含用于输出信息的成员函数vf()，调用这两个函数，实现编译时的多态。
*/

class B
{
public:
    void vf()
    {
        cout << "B::vf()" << endl;
    }
};

class D : public B
{
public:
    void vf()
    {
        cout << "D::vf()" << endl;
    }
};

int main()
{
    B b, *pb = &b;
    D d, *pd = &d;

    pb->vf();
    pd->vf();
    b.vf();
    d.vf();

    pb = (B *)&d;
    pb->vf();

    pd = (D *)&b;
    pd->vf();

    return 0;
}